package com.example.chap04_ex02;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
	Button btnSave = null;
	EditText edtMaKH = null,edtTenKH=null,edtSdtKH=null,edtTuoiKH=null;
	String catchPath = null;


	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		thamChieu();
	}

	
	 public void thamChieu()
	    {
	    	btnSave = (android.widget.Button)findViewById(R.id.btnLuu);
	    	edtMaKH = (android.widget.EditText)findViewById(R.id.edtMaKH);
	    	edtTenKH = (android.widget.EditText)findViewById(R.id.edtTenKH);
	    	edtTuoiKH = (android.widget.EditText)findViewById(R.id.edtTuoiKH);
	    	edtSdtKH = (android.widget.EditText)findViewById(R.id.edtSdtKH);
	    }
	    public void luuEvent(View view) {
	    	luu();
	    }
	    public void xoaEvent(){
	    	
	    }
	    public void capNhatEvent(View view){
	    	capNhat();
	    }
	    public void docDuLieu(View view) {
			// TODO Auto-generated method stub
	    	docFile();
		}
	    public void luu()
	    {    	
	    	// B1 : Lấy đư�?ng dẫn chứa tập tin tạm    	
	    	File fileCache = getCacheDir();
	    	catchPath = fileCache.getPath();
	    	// B2 : Khai báo tập tin lưu trữ tạm
	    	File file = new java.io.File(catchPath,"VTTU.txt");
	    	// B3 : Khai báo đối tượng ghi file
	    	FileOutputStream out = null;
	    	try {
				out= new FileOutputStream(file,true); // true : Cho phép ghi nối tiếp nội dung
				String str = edtMaKH.getText().toString()+"#"+edtTenKH.getText().toString()+"#"+edtTuoiKH.getText().toString()+"#"+edtSdtKH.getText().toString()+"\n"+"   ";// Nội dung cần lưu. "\n" khi muốn xuống hàng 
				
				// B4 : Ghi nội dung ra file
				out.write(str.getBytes());
				Toast.makeText(getApplicationContext(),"Luu thanh co", Toast.LENGTH_SHORT).show();
			
			} catch (Exception e) {
				e.printStackTrace();
			}
	    	finally{
	    		try {
	    			out.close();
				} catch (Exception e2) {
					// TODO: handle exception
				}    		
	    	}
	    }
	    public void xoa(){
	    	
	    }
	    public void capNhat(){
	    	File fileCache = getCacheDir();
	    	catchPath = fileCache.getPath();
	    	// B2 : Khai báo tập tin lưu trữ tạm
	  		File file = new java.io.File(catchPath,"VTTU.txt");
	  		//B3 : Khai báo đối tượng đ�?c tập tin tạm
	  		FileInputStream fileInputStream = null; 
	  		FileOutputStream fileOutputStream=null;
	  		InputStreamReader inputStreamReader = null; 
	  		BufferedReader bufferedReader = null; 
	  		StringBuilder fileContent = new StringBuilder();
	  		try {
	  			//  			
	  			fileInputStream = new FileInputStream(file);
	  			inputStreamReader = new InputStreamReader(fileInputStream);
	  			bufferedReader = new BufferedReader(inputStreamReader);
	  			//FileWriter fstreamWrite = new FileWriter("d:/new6.txt");
	  			fileOutputStream=new FileOutputStream(file, true);
	  			
	  			String line="";
	  			
	  		    //B4 : �?�?c từng dòng trong file
	  			while(( line= bufferedReader.readLine())!=null)
	  			{
	  				
	  				String []s=line.split("#");
	  				if(s[0].equals(edtMaKH.getText().toString())){
	  					Toast.makeText(getApplicationContext(), line, Toast.LENGTH_SHORT).show();
	  					String newStr = s[0]+"#"+edtTenKH.getText().toString()+"#"+edtTuoiKH.getText().toString()+"#"+edtSdtKH.getText().toString()+"\n";// Nội dung cần lưu. "\n" khi muốn xuống hàng 
	  					fileContent.append(newStr);
	                    fileContent.append("\n");
	                    Toast.makeText(getApplicationContext(), newStr, 2000).show();
	  				}
	  				else {
	                    // update content as it is
	                    fileContent.append(line);
	                    fileContent.append("\n");
	  				
	                   // Toast.makeText(getApplicationContext(), fileContent.toString(), Toast.LENGTH_SHORT).show();
	  				}
	  			
	  	          
	  				fileOutputStream.write(fileContent.toString().getBytes());
	  				fileOutputStream.close();
	  				//Toast.makeText(getApplicationContext(), fileContent.toString(), Toast.LENGTH_SHORT).show();
	  	            //Close the input stream
	  	           // in.close();*/
	  			}
			    } catch (Exception e) {//Catch exception if any
			        System.err.println("Error: " + e.getMessage());
			    }
	    	
	    }
	    
	  
		//Phuong thuc doc noi dung tu tap tin su dung BufferedReader
	  	public boolean docFile (){
	  	    // B1 : Lấy đư�?ng dẫn chứa tập tin tạm      	
	    	File fileCache = getCacheDir();
	    	catchPath = fileCache.getPath();
	    	// B2 : Khai báo tập tin lưu trữ tạm
	  		File file = new java.io.File(catchPath,"VTTU.txt");
	  		boolean bool = true;
	  		//B3 : Khai báo đối tượng đ�?c tập tin tạm
	  		FileInputStream fileInputStream = null; 
	  		InputStreamReader inputStreamReader = null; 
	  		BufferedReader bufferedReader = null; 
	  		try {
	  			//  			
	  			fileInputStream = new FileInputStream(file);
	  			inputStreamReader = new InputStreamReader(fileInputStream);
	  			bufferedReader = new BufferedReader(inputStreamReader);
	  			String line="";
	  		    //B4 : �?�?c từng dòng trong file
	  			while(( line= bufferedReader.readLine())!=null)
	  			{
	  				Toast.makeText(getApplicationContext(), line, Toast.LENGTH_SHORT).show();
	  			}
	  			bufferedReader.close();
	  		} catch (Exception e) {
	  			// TODO: handle exception
	  			bool = false;
	  			Toast.makeText(getApplicationContext(), "Có lỗi trong quá trình đ�?c File."+e.toString() , Toast.LENGTH_LONG);
	  		}  		
	  		return bool;
	  	}
	}



